/**    
 * 文件名：Water.java    
 *    
 * 版本信息：    
 * 日期：2014年3月25日    
 * xyj 足下 xyj 2014     
 * 版权所有    
 *    
 */
package water;

import static com.googlecode.javacv.cpp.opencv_core.cvAddWeighted;
import static com.googlecode.javacv.cpp.opencv_highgui.CV_LOAD_IMAGE_UNCHANGED;
import static opencvtest.OpenCVUtils.drawOnImage;
import static opencvtest.OpenCVUtils.loadAndShowOrExit;
import static opencvtest.OpenCVUtils.show;
import static opencvtest.OpenCVUtils.toIplROI;

import java.awt.Color;
import java.awt.Rectangle;
import java.io.File;

import com.googlecode.javacv.cpp.opencv_core.IplImage;

/**
 * @项目名称：opencv-test
 * @类名称：Water
 * @类描述：
 * @创建人：zhuyi
 * @创建时间：2014年3月25日 上午9:21:37
 * @修改人：zhuyi
 * @修改时间：2014年3月25日 上午9:21:37
 * @修改备注：
 * @version
 * 
 */
public class Water {

    public static void main(String[] args) {

        IplImage image = loadAndShowOrExit(new File("art0009720016-l.jpg"), CV_LOAD_IMAGE_UNCHANGED);
        IplImage water = loadAndShowOrExit(new File("water.png"), CV_LOAD_IMAGE_UNCHANGED);

        // Display image with marked ROI
        int x = image.width() / 2 - water.width() / 2;
        int y = image.height() / 2 - water.height() / 2;
        Rectangle rect = new Rectangle(x, y, water.width(), water.height());
        show(drawOnImage(image, rect, Color.RED), "Input template");

        // Define ROI for sample histogram
        IplImage roiImage = image.roi(toIplROI(rect));

        cvAddWeighted(water, 1.0, roiImage, 0.0, 0.0, image);

        image.roi(null);

        show(image, "add water image");

    }
}
